package com.tbit.uqbike.object.pojo.vo;

import com.tbit.uqbike.object.pojo.ParamDate;
import com.tbit.uqbike.webmanager.util.csv.annotations.Csv;
import com.tbit.uqbike.webmanager.util.csv.annotations.Sum;

import java.math.BigDecimal;

/**
 * 商户营收明细vo
 *
 * @Author:yanlun
 * @DATE: 2022/11/18
 */

public class AccountDayStatMerchantFinancialDetailVO extends ParamDate {

    private Integer accountId;
    /**
     * 区域名
     */
    @Csv(name = "区域名")
    private String accountName;
    /**
     * 日期
     */
    @Csv(name = "日期")
    private String date;
    /**
     * 商户平台总收入
     */
    @Sum
    @Csv(name = "商户平台总收入")
    private BigDecimal merchantIncome;
    /**
     * 商户平台总收入笔数
     */
    @Sum
    @Csv(name = "商户平台总收入笔数")
    private Long merchantIncomeCount;
    /**
     * 商户平台总支出
     */
    @Sum
    @Csv(name = "商户平台总支出")
    private BigDecimal merchantExpend;
    /**
     * 商户平台总支出笔数
     */
    @Sum
    @Csv(name = "商户平台总支出笔数")
    private Long merchantExpendCount;
    /**
     * 微信商户平台总收入
     */
    @Sum
    @Csv(name = "微信商户平台总收入")
    private BigDecimal wxMerchantIncome;
    /**
     * 微信商户平台总收入笔数
     */
    @Sum
    @Csv(name = "微信商户平台总收入笔数")
    private Long wxMerchantIncomeCount;
    /**
     * 微信商户平台总支出
     */
    @Sum
    @Csv(name = "微信商户平台总支出")
    private BigDecimal wxMerchantExpend;
    /**
     * 微信商户平台总支出笔数
     */
    @Sum
    @Csv(name = "微信商户平台总支出笔数")
    private Long wxMerchantExpendCount;
    /**
     * 支付宝商户平台总收入
     */
    @Sum
    @Csv(name = "支付宝商户平台总收入")
    private BigDecimal alipayMerchantIncome;
    /**
     * 支付宝商户平台总收入笔数
     */
    @Sum
    @Csv(name = "支付宝商户平台总收入笔数")
    private Long alipayMerchantIncomeCount;
    /**
     * 支付宝商户平台总支出
     */
    @Sum
    @Csv(name = "支付宝商户平台总支出")
    private BigDecimal alipayMerchantExpend;
    /**
     * 支付宝商户平台总支出笔数
     */
    @Sum
    @Csv(name = "支付宝商户平台总支出笔数")
    private Long alipayMerchantExpendCount;
    /**
     * 汇付商户平台总收入
     */
    @Sum
    @Csv(name = "汇付商户平台总收入")
    private BigDecimal adapayMerchantIncome;
    /**
     * 汇付商户平台总收入笔数
     */
    @Sum
    @Csv(name = "汇付商户平台总收入笔数")
    private Long adapayMerchantIncomeCount;
    /**
     * 汇付商户平台总支出
     */
    @Sum
    @Csv(name = "汇付商户平台总支出")
    private BigDecimal adapayMerchantExpend;
    /**
     * 汇付商户平台总支出笔数
     */
    @Sum
    @Csv(name = "汇付商户平台总支出笔数")
    private Long adapayMerchantExpendCount;

    public AccountDayStatMerchantFinancialDetailVO() {
        fillData();
    }

    public Integer getAccountId() {
        return accountId;
    }

    public void setAccountId(Integer accountId) {
        this.accountId = accountId;
    }

    public String getAccountName() {
        return accountName;
    }

    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }

    public BigDecimal getMerchantIncome() {
        return merchantIncome == null ? null : merchantIncome.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setMerchantIncome(BigDecimal merchantIncome) {
        this.merchantIncome = merchantIncome;
    }

    public Long getMerchantIncomeCount() {
        return merchantIncomeCount;
    }

    public void setMerchantIncomeCount(Long merchantIncomeCount) {
        this.merchantIncomeCount = merchantIncomeCount;
    }

    public BigDecimal getMerchantExpend() {
        return merchantExpend == null ? null : merchantExpend.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setMerchantExpend(BigDecimal merchantExpend) {
        this.merchantExpend = merchantExpend;
    }

    public Long getMerchantExpendCount() {
        return merchantExpendCount;
    }

    public void setMerchantExpendCount(Long merchantExpendCount) {
        this.merchantExpendCount = merchantExpendCount;
    }

    public BigDecimal getWxMerchantIncome() {
        return wxMerchantIncome == null ? null : wxMerchantIncome.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setWxMerchantIncome(BigDecimal wxMerchantIncome) {
        this.wxMerchantIncome = wxMerchantIncome;
    }

    public Long getWxMerchantIncomeCount() {
        return wxMerchantIncomeCount;
    }

    public void setWxMerchantIncomeCount(Long wxMerchantIncomeCount) {
        this.wxMerchantIncomeCount = wxMerchantIncomeCount;
    }

    public BigDecimal getWxMerchantExpend() {
        return wxMerchantExpend == null ? null : wxMerchantExpend.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setWxMerchantExpend(BigDecimal wxMerchantExpend) {
        this.wxMerchantExpend = wxMerchantExpend;
    }

    public Long getWxMerchantExpendCount() {
        return wxMerchantExpendCount;
    }

    public void setWxMerchantExpendCount(Long wxMerchantExpendCount) {
        this.wxMerchantExpendCount = wxMerchantExpendCount;
    }

    public BigDecimal getAlipayMerchantIncome() {
        return alipayMerchantIncome == null ? null : alipayMerchantIncome.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setAlipayMerchantIncome(BigDecimal alipayMerchantIncome) {
        this.alipayMerchantIncome = alipayMerchantIncome;
    }

    public Long getAlipayMerchantIncomeCount() {
        return alipayMerchantIncomeCount;
    }

    public void setAlipayMerchantIncomeCount(Long alipayMerchantIncomeCount) {
        this.alipayMerchantIncomeCount = alipayMerchantIncomeCount;
    }

    public BigDecimal getAlipayMerchantExpend() {
        return alipayMerchantExpend == null ? null : alipayMerchantExpend.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setAlipayMerchantExpend(BigDecimal alipayMerchantExpend) {
        this.alipayMerchantExpend = alipayMerchantExpend;
    }

    public Long getAlipayMerchantExpendCount() {
        return alipayMerchantExpendCount;
    }

    public void setAlipayMerchantExpendCount(Long alipayMerchantExpendCount) {
        this.alipayMerchantExpendCount = alipayMerchantExpendCount;
    }

    public BigDecimal getAdapayMerchantIncome() {
        return adapayMerchantIncome == null ? null : adapayMerchantIncome.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setAdapayMerchantIncome(BigDecimal adapayMerchantIncome) {
        this.adapayMerchantIncome = adapayMerchantIncome;
    }

    public Long getAdapayMerchantIncomeCount() {
        return adapayMerchantIncomeCount;
    }

    public void setAdapayMerchantIncomeCount(Long adapayMerchantIncomeCount) {
        this.adapayMerchantIncomeCount = adapayMerchantIncomeCount;
    }

    public BigDecimal getAdapayMerchantExpend() {
        return adapayMerchantExpend == null ? null : adapayMerchantExpend.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setAdapayMerchantExpend(BigDecimal adapayMerchantExpend) {
        this.adapayMerchantExpend = adapayMerchantExpend;
    }

    public Long getAdapayMerchantExpendCount() {
        return adapayMerchantExpendCount;
    }

    public void setAdapayMerchantExpendCount(Long adapayMerchantExpendCount) {
        this.adapayMerchantExpendCount = adapayMerchantExpendCount;
    }

    public void fillData() {
        BigDecimal bigDecimal = new BigDecimal(0);
        this.merchantIncome = this.merchantIncome == null ? bigDecimal : this.merchantIncome;
        this.merchantIncomeCount = this.merchantIncomeCount == null ? 0L : this.merchantIncomeCount;
        this.merchantExpend = this.merchantExpend == null ? bigDecimal : this.merchantExpend;
        this.merchantExpendCount = this.merchantExpendCount == null ? 0L : this.merchantExpendCount;
        this.wxMerchantIncome = this.wxMerchantIncome == null ? bigDecimal : this.wxMerchantIncome;
        this.wxMerchantIncomeCount = this.wxMerchantIncomeCount == null ? 0L : this.wxMerchantIncomeCount;
        this.wxMerchantExpend = this.wxMerchantExpend == null ? bigDecimal : this.wxMerchantExpend;
        this.wxMerchantExpendCount = this.wxMerchantExpendCount == null ? 0L : this.wxMerchantExpendCount;
        this.alipayMerchantIncome = this.alipayMerchantIncome == null ? bigDecimal : this.alipayMerchantIncome;
        this.alipayMerchantIncomeCount = this.alipayMerchantIncomeCount == null ? 0L : this.alipayMerchantIncomeCount;
        this.alipayMerchantExpend = this.alipayMerchantExpend == null ? bigDecimal : this.alipayMerchantExpend;
        this.alipayMerchantExpendCount = this.alipayMerchantExpendCount == null ? 0L : this.alipayMerchantExpendCount;
        this.adapayMerchantIncome = this.adapayMerchantIncome == null ? bigDecimal : this.adapayMerchantIncome;
        this.adapayMerchantIncomeCount = this.adapayMerchantIncomeCount == null ? 0L : this.adapayMerchantIncomeCount;
        this.adapayMerchantExpend = this.adapayMerchantExpend == null ? bigDecimal : this.adapayMerchantExpend;
        this.adapayMerchantExpendCount = this.adapayMerchantExpendCount == null ? 0L : this.adapayMerchantExpendCount;
    }
}
